package com.proton.carepatchtemp.database;


import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;

import java.io.Serializable;
import java.lang.reflect.Modifier;

public class XmppMsg implements Serializable {

    @Expose
    //档案头像
    public String displayAvatar = "";
    private Long toUid;
    @Expose
    //发送消息的uid
    private long uid = 0;
    //    //类型
//    public int type = XTypes.XMPP_NORMAL;
    @Expose
    //状态
    private int displayStatus = 10000;
    @Expose
    // 报告id
    private long reportId = 0;
    @Expose
    //显示名称
    private String displayName = "";
    @Expose
    //当前值
    private float displayCurrent = 0f;
    @Expose
    //最高温
    private float displayMax = 0f;
    @Expose
    //蓝牙地址
    private String deviceMac = "";
    @Expose
    //当前时间
    private long displayTime = 0;
    public XmppMsg() {
    }
//    //最高体温
//    private float displayLimitMax = 0;
////    最低体温
//    private float displayLimitMin = 0;


//    //报警持续时间
//    private long displayAlertDuration = 0;

    public long getUid() {
        return uid;
    }

    public void setUid(long uid) {
        this.uid = uid;
    }

    public int getDisplayStatus() {
        return displayStatus;
    }

    public void setDisplayStatus(int displayStatus) {
        this.displayStatus = displayStatus;
    }

    public float getDisplayCurrent() {
        return displayCurrent;
    }

    public void setDisplayCurrent(float displayCurrent) {
        this.displayCurrent = displayCurrent;
    }

    public float getDisplayMax() {
        return displayMax;
    }

    public void setDisplayMax(float displayMax) {
        this.displayMax = displayMax;
    }

    public long getReportId() {
        return reportId;
    }

    public void setReportId(long reportId) {
        this.reportId = reportId;
    }


    public String getAvatar() {
        return displayAvatar;
    }

    public void setAvatar(String avatar) {
        this.displayAvatar = avatar;
    }


    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public String getDeviceMac() {
        return deviceMac;
    }

    public void setDeviceMac(String address) {
        this.deviceMac = address;
    }


    public long getNow() {
        return displayTime;
    }

    public void setNow(long now) {
        this.displayTime = now;
    }

    @Override
    public String toString() {
//        if (type == XTypes.XMPP_ALARM) {
//            Gson gson = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {
//                @Override
//                public boolean shouldSkipField(FieldAttributes f) {
//                    if (f.getName() == null) {
//                        return true;
//                    }
//                    if (f.getName().indexOf("type") < 0 && f.getName().indexOf("displayEscaped") < 0 && f.getName().indexOf("deviceId") < 0) {
//                        return true;
//                    }
//                    return false;
//                }
//
//                @Override
//                public boolean shouldSkipClass(Class<?> clazz) {
//                    return false;
//                }
//            }).create();
//            return gson.toJson(XmppMsg.this, XmppMsg.class);
//        }
        Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create();
        return gson.toJson(XmppMsg.this, XmppMsg.class);
    }

    public Long getToUid() {
        return toUid;
    }

    public void setToUid(Long toUid) {
        this.toUid = toUid;
    }

//    public long getDeviceId() {
//        return deviceId;
//    }
//
//    public void setDeviceId(long deviceId) {
//        this.deviceId = deviceId;
//    }
//
//    public long getDisplayStartTime() {
//        return displayStartTime;
//    }
//
//    public void setDisplayStartTime(long displayStartTime) {
//        this.displayStartTime = displayStartTime;
//    }

//    public float getDisplayLimitMax() {
//        return displayLimitMax;
//    }
//
//    public void setDisplayLimitMax(float displayLimitMax) {
//        this.displayLimitMax = displayLimitMax;
//    }
//
//    public float getDisplayLimitMin() {
//        return displayLimitMin;
//    }
//
//    public void setDisplayLimitMin(float displayLimitMin) {
//        this.displayLimitMin = displayLimitMin;
//    }

//    public long getDisplayAlertDuration() {
//        return displayAlertDuration;
//    }
//
//    public void setDisplayAlertDuration(long displayAlertDuration) {
//        this.displayAlertDuration = displayAlertDuration;
//    }

//    public int getDisplayIndex() {
//        return displayIndex;
//    }
//
//    public void setDisplayIndex(int displayIndex) {
//        this.displayIndex = displayIndex;
//    }
//
//    public long getDisplayEscaped() {
//        return displayEscaped;
//    }
//
//    public void setDisplayEscaped(long displayEscaped) {
//        this.displayEscaped = displayEscaped;
//    }
//
//    public int getType() {
//        return type;
//    }
//
//    public void setType(int pType) {
//        type = pType;
//    }

//    public List<Float> getDisplayValues() {
//        return displayValues;
//    }
//
//    public void setDisplayValues(List<Float> displayValues) {
//        this.displayValues = displayValues;
//    }
//
//    public long getDisplayDuration() {
//        return displayDuration;
//    }
//
//    public void setDisplayDuration(long displayDuration) {
//        this.displayDuration = displayDuration;
//    }

}
